[INFO] fetching crate zee-edit 0.1.0...
[INFO] checking zee-edit-0.1.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate zee-edit 0.1.0 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate zee-edit 0.1.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate zee-edit 0.1.0
[INFO] finished tweaking crates.io crate zee-edit 0.1.0
[INFO] tweaked toml for crates.io crate zee-edit 0.1.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ropey v1.6.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 04f3ad984f0c7ad72cd1a7cd90f50ccb2445117484d4ad889b1cd34134c6ac41
[INFO] running `Command { std: "docker" "start" "-a" "04f3ad984f0c7ad72cd1a7cd90f50ccb2445117484d4ad889b1cd34134c6ac41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "04f3ad984f0c7ad72cd1a7cd90f50ccb2445117484d4ad889b1cd34134c6ac41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04f3ad984f0c7ad72cd1a7cd90f50ccb2445117484d4ad889b1cd34134c6ac41", kill_on_drop: false }`
[INFO] [stdout] 04f3ad984f0c7ad72cd1a7cd90f50ccb2445117484d4ad889b1cd34134c6ac41
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8e8251ebd84f2b321bb15db3f844097e383d588e14bf26cca43537995e4a5cf3
[INFO] running `Command { std: "docker" "start" "-a" "8e8251ebd84f2b321bb15db3f844097e383d588e14bf26cca43537995e4a5cf3", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking str_indices v0.4.3
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking unicode-segmentation v1.11.0
[INFO] [stderr]     Checking ropey v1.6.1
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]     Checking zee-edit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `slice_cursor` is never used
[INFO] [stdout]   --> src/lib.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | trait RopeCursorExt {
[INFO] [stdout]    |       ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn slice_cursor(&self, cursor: &Cursor) -> RopeSlice;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.43s
[INFO] running `Command { std: "docker" "inspect" "8e8251ebd84f2b321bb15db3f844097e383d588e14bf26cca43537995e4a5cf3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e8251ebd84f2b321bb15db3f844097e383d588e14bf26cca43537995e4a5cf3", kill_on_drop: false }`
[INFO] [stdout] 8e8251ebd84f2b321bb15db3f844097e383d588e14bf26cca43537995e4a5cf3
[INFO] checking zee-edit-0.1.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate zee-edit 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate zee-edit 0.1.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate zee-edit 0.1.0
[INFO] finished tweaking crates.io crate zee-edit 0.1.0
[INFO] tweaked toml for crates.io crate zee-edit 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 52f1e22c168b48fafc5a312e3b9d3504d266a1caecf460dadb95aa9e10e3b68c
[INFO] running `Command { std: "docker" "start" "-a" "52f1e22c168b48fafc5a312e3b9d3504d266a1caecf460dadb95aa9e10e3b68c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "52f1e22c168b48fafc5a312e3b9d3504d266a1caecf460dadb95aa9e10e3b68c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52f1e22c168b48fafc5a312e3b9d3504d266a1caecf460dadb95aa9e10e3b68c", kill_on_drop: false }`
[INFO] [stdout] 52f1e22c168b48fafc5a312e3b9d3504d266a1caecf460dadb95aa9e10e3b68c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d05be7781cdc87e11cc67b77e6c5dc935be751fabc9eb09ba050b72da15aee27
[INFO] running `Command { std: "docker" "start" "-a" "d05be7781cdc87e11cc67b77e6c5dc935be751fabc9eb09ba050b72da15aee27", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking str_indices v0.4.3
[INFO] [stderr]     Checking unicode-segmentation v1.11.0
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking ropey v1.6.1
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]     Checking zee-edit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/graphemes.rs:96:34
[INFO] [stdout]    |
[INFO] [stdout] 96 |             Some(self.text.slice(char_start..char_end))
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/graphemes.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Some((&self.chunk[chunk_byte_start..chunk_byte_end]).into())
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/graphemes.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |     for line_index in (0..text.len_lines()).rev() {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/graphemes.rs:126:29
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 text.remove(cursor..=cursor);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/graphemes.rs:133:25
[INFO] [stdout]     |
[INFO] [stdout] 133 |             text.remove(start..text.len_chars());
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/graphemes.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/graphemes.rs:232:14
[INFO] [stdout]     |
[INFO] [stdout] 232 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/movement.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     cursor.range = grapheme_start..text.next_grapheme_boundary(grapheme_start);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/movement.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let line_to_cursor = text.slice(current_line_start..cursor.range.start);
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/movement.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |     cursor.range = char_offset..text.next_grapheme_boundary(char_offset);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/movement.rs:85:22
[INFO] [stdout]    |
[INFO] [stdout] 85 |             for _ in 0..count {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/movement.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for _ in 0..count {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:105:20
[INFO] [stdout]     |
[INFO] [stdout] 105 |     cursor.range = grapheme_start..text.next_grapheme_boundary(grapheme_start);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:116:20
[INFO] [stdout]     |
[INFO] [stdout] 116 |     cursor.range = grapheme_start..text.next_grapheme_boundary(grapheme_start);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:125:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |             for _ in 0..count {
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:130:22
[INFO] [stdout]     |
[INFO] [stdout] 130 |             for _ in 0..count {
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:151:20
[INFO] [stdout]     |
[INFO] [stdout] 151 |     cursor.range = start..text.next_grapheme_boundary(start);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |     cursor.range = start..text.next_grapheme_boundary(start);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:178:20
[INFO] [stdout]     |
[INFO] [stdout] 178 |     cursor.range = line_start..text.next_grapheme_boundary(line_start);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:200:20
[INFO] [stdout]     |
[INFO] [stdout] 200 |     cursor.range = range_start..range_end;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |     cursor.range = 0..text.next_grapheme_boundary(0);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:215:20
[INFO] [stdout]     |
[INFO] [stdout] 215 |     cursor.range = length..length;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lib.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |         self.slice(cursor.range.start..cursor.range.end)
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lib.rs:63:20
[INFO] [stdout]    |
[INFO] [stdout] 63 |             range: 0..0,
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lib.rs:95:64
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Some(selection) if selection > self.range.start => self.range.start..selection,
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lib.rs:96:64
[INFO] [stdout]    |
[INFO] [stdout] 96 |             Some(selection) if selection < self.range.start => selection..self.range.start,
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:103:38
[INFO] [stdout]     |
[INFO] [stdout] 103 |         graphemes::width(&text.slice(char_line_start..self.range.start))
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:114:30
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let modified_range = char_index..cmp::max(old_char_length, new_char_length);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 self.range = start.saturating_sub(length_change)..end.saturating_sub(length_change);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:129:30
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 self.range = start + length_change..end + length_change;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:137:22
[INFO] [stdout]     |
[INFO] [stdout] 137 |         self.range = grapheme_start..grapheme_end
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:199:26
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let byte_range = text.char_to_byte(self.range.start)..text.char_to_byte(self.range.end);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:212:34
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let deleted = text.slice(grapheme_start..grapheme_end).into();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |         *self = Cursor::with_range(grapheme_start..grapheme_end);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:237:34
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let deleted = text.slice(delete_range_start..delete_range_end).into();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |         text.remove(delete_range_start..delete_range_end);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:253:36
[INFO] [stdout]     |
[INFO] [stdout] 253 |         *self = Cursor::with_range(grapheme_start..grapheme_end);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:265:34
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let deleted = text.slice(selection.start..selection.end).into();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |         text.remove(selection.start..selection.end);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:283:36
[INFO] [stdout]     |
[INFO] [stdout] 283 |         *self = Cursor::with_range(grapheme_start..grapheme_end);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:301:36
[INFO] [stdout]     |
[INFO] [stdout] 301 |         *self = Cursor::with_range(grapheme_start..grapheme_end);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/graphemes.rs:96:34
[INFO] [stdout]    |
[INFO] [stdout] 96 |             Some(self.text.slice(char_start..char_end))
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/graphemes.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |             Some((&self.chunk[chunk_byte_start..chunk_byte_end]).into())
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/graphemes.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |     for line_index in (0..text.len_lines()).rev() {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/graphemes.rs:126:29
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 text.remove(cursor..=cursor);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/graphemes.rs:133:25
[INFO] [stdout]     |
[INFO] [stdout] 133 |             text.remove(start..text.len_chars());
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/graphemes.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/graphemes.rs:232:14
[INFO] [stdout]     |
[INFO] [stdout] 232 |     for _ in 0..n {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/movement.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     cursor.range = grapheme_start..text.next_grapheme_boundary(grapheme_start);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/movement.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let line_to_cursor = text.slice(current_line_start..cursor.range.start);
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/movement.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |     cursor.range = char_offset..text.next_grapheme_boundary(char_offset);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/movement.rs:85:22
[INFO] [stdout]    |
[INFO] [stdout] 85 |             for _ in 0..count {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/movement.rs:90:22
[INFO] [stdout]    |
[INFO] [stdout] 90 |             for _ in 0..count {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:105:20
[INFO] [stdout]     |
[INFO] [stdout] 105 |     cursor.range = grapheme_start..text.next_grapheme_boundary(grapheme_start);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:116:20
[INFO] [stdout]     |
[INFO] [stdout] 116 |     cursor.range = grapheme_start..text.next_grapheme_boundary(grapheme_start);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:125:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |             for _ in 0..count {
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:130:22
[INFO] [stdout]     |
[INFO] [stdout] 130 |             for _ in 0..count {
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:151:20
[INFO] [stdout]     |
[INFO] [stdout] 151 |     cursor.range = start..text.next_grapheme_boundary(start);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:170:20
[INFO] [stdout]     |
[INFO] [stdout] 170 |     cursor.range = start..text.next_grapheme_boundary(start);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:178:20
[INFO] [stdout]     |
[INFO] [stdout] 178 |     cursor.range = line_start..text.next_grapheme_boundary(line_start);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:200:20
[INFO] [stdout]     |
[INFO] [stdout] 200 |     cursor.range = range_start..range_end;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |     cursor.range = 0..text.next_grapheme_boundary(0);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:215:20
[INFO] [stdout]     |
[INFO] [stdout] 215 |     cursor.range = length..length;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:276:47
[INFO] [stdout]     |
[INFO] [stdout] 276 |         assert_eq!(cursor, Cursor::with_range(1..1));
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:288:32
[INFO] [stdout]     |
[INFO] [stdout] 288 |             Cursor::with_range(text.len_chars()..text.len_chars())
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:297:39
[INFO] [stdout]     |
[INFO] [stdout] 297 |         assert_eq!(Cursor::with_range(0..1), cursor);
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:305:20
[INFO] [stdout]     |
[INFO] [stdout] 305 |         assert_eq!(0..text.len_chars(), cursor.range);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:312:39
[INFO] [stdout]     |
[INFO] [stdout] 312 |         assert_eq!(Cursor::with_range(0..1), cursor);
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:314:39
[INFO] [stdout]     |
[INFO] [stdout] 314 |         assert_eq!(Cursor::with_range(0..1), cursor);
[INFO] [stdout]     |                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:316:24
[INFO] [stdout]     |
[INFO] [stdout] 316 |         cursor.range = 1..2;
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:318:34
[INFO] [stdout]     |
[INFO] [stdout] 318 |         assert_eq!(cursor.range, 1..2);
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:320:34
[INFO] [stdout]     |
[INFO] [stdout] 320 |         assert_eq!(cursor.range, 1..2);
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/movement.rs:334:47
[INFO] [stdout]     |
[INFO] [stdout] 334 |         assert_eq!(cursor, Cursor::with_range(0..1),);
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lib.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |         self.slice(cursor.range.start..cursor.range.end)
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lib.rs:63:20
[INFO] [stdout]    |
[INFO] [stdout] 63 |             range: 0..0,
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lib.rs:79:20
[INFO] [stdout]    |
[INFO] [stdout] 79 |             range: text.prev_grapheme_boundary(text.len_chars())..text.len_chars(),
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lib.rs:95:64
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Some(selection) if selection > self.range.start => self.range.start..selection,
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/lib.rs:96:64
[INFO] [stdout]    |
[INFO] [stdout] 96 |             Some(selection) if selection < self.range.start => selection..self.range.start,
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:103:38
[INFO] [stdout]     |
[INFO] [stdout] 103 |         graphemes::width(&text.slice(char_line_start..self.range.start))
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:114:30
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let modified_range = char_index..cmp::max(old_char_length, new_char_length);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:126:30
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 self.range = start.saturating_sub(length_change)..end.saturating_sub(length_change);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:129:30
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 self.range = start + length_change..end + length_change;
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:137:22
[INFO] [stdout]     |
[INFO] [stdout] 137 |         self.range = grapheme_start..grapheme_end
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:199:26
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let byte_range = text.char_to_byte(self.range.start)..text.char_to_byte(self.range.end);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:212:34
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let deleted = text.slice(grapheme_start..grapheme_end).into();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:214:36
[INFO] [stdout]     |
[INFO] [stdout] 214 |         *self = Cursor::with_range(grapheme_start..grapheme_end);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:237:34
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let deleted = text.slice(delete_range_start..delete_range_end).into();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |         text.remove(delete_range_start..delete_range_end);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:253:36
[INFO] [stdout]     |
[INFO] [stdout] 253 |         *self = Cursor::with_range(grapheme_start..grapheme_end);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:265:34
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let deleted = text.slice(selection.start..selection.end).into();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |         text.remove(selection.start..selection.end);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:283:36
[INFO] [stdout]     |
[INFO] [stdout] 283 |         *self = Cursor::with_range(grapheme_start..grapheme_end);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:301:36
[INFO] [stdout]     |
[INFO] [stdout] 301 |         *self = Cursor::with_range(grapheme_start..grapheme_end);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `slice_cursor` is never used
[INFO] [stdout]   --> src/lib.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | trait RopeCursorExt {
[INFO] [stdout]    |       ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn slice_cursor(&self, cursor: &Cursor) -> RopeSlice;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/lib.rs:69:30
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn with_range(range: Range<CharIndex>) -> Self {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 42 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zee-edit` (lib) due to 2 previous errors; 42 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d05be7781cdc87e11cc67b77e6c5dc935be751fabc9eb09ba050b72da15aee27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d05be7781cdc87e11cc67b77e6c5dc935be751fabc9eb09ba050b72da15aee27", kill_on_drop: false }`
[INFO] [stdout] d05be7781cdc87e11cc67b77e6c5dc935be751fabc9eb09ba050b72da15aee27
